// 封裝提示组件

// 核心逻辑
// 1.使用createVnode把一个组件生成虚拟dom节点
// 2、准备一个挂载的节点-手动创建一个节点
// 3.使用render完成挂载 让弹框组件显示到页面中

import { createVNode, render } from 'vue'
import _Message from '@/components/Message/index.vue'
function message ({ type, text }) {
  const vuode = createVNode(
    _Message,
    {
      type,
      text
    }
  )

  const mount = document.createElement('div')
  document.body.appendChild(mount)
  setTimeout(() => {
    render(null, mount)
  }, 1000)
  render(vuode, mount)
}

export default message
// 优势：调用时机灵活
// <Message/>渲染的时机是跟着父组件的template渲染走的
// 这是一个自动的操作，不收开发者控制

// Message()喜欢在哪里调用就在那里调用 异步返回之后调用起来 点击事件之后调用起来
// 渲染时机是完全有我们来决定的
